A typical disk drive includes a spindle motor for rotating a data disk, and an actuator for moving a head carrier that supports read/write heads radially across the disk to access data stored on concentric data tracks on the disk. An example spindle motor can be a brush less DC motor having three phase coils arranged as a stator, and a rotor having a permanent magnet for rotating the disk. During an acceleration phase, the motor is commutated to start from standstill and accelerate to its operational speed. Thereafter, the motor is commutated to maintain that operational speed, by sequentially energizing appropriate phase coils based on the location of the rotor relative to each phase coil. The energized coils generate torque inducing magnetic fields relative to the rotor magnet that rotate the rotor.
In order to ensure that proper phase coils are energized, indirect or sensorless position detection systems, such as back electromotive force (BEMF) detectors, are utilized to determine the rotor position relative to the coils. BEMF detectors sense back electromotive force transitions in the phase coils, due to magnetic flux caused by a moving rotor, to identify the proper phase coils to be energized. Specifically, when the rotor is moving, the change in the course and direction of the magnetic field lines emanating from the rotor magnet causes a magnetic flux through the stator coils, inducing a current in the stator coils. The current induced in the stator coils is a function of the rotor speed or the frequency of magnetic transitions in the stator coils due to the magnetic flux through the stator coils. The induced current develops a generally sinusoidal BEMF voltage across resistors electrically connected in series with the phase coils, wherein the BEMF voltages provide rotor position information. Once the rotor position is determined, the motor is commutated by sequentially applying drive currents to appropriate coils to provide maximum torque to the rotor.
In each phase coil, the waveform and phase of the drive current signal in relation to the BEMF voltage directly affects motor efficiency and acoustic noise in the motor. As such, conventional motor drivers utilize wave shaping methods to control the slopes of the coil currents to counteract BEMF forces in the coils. This provides optimum torque application to the rotor and reduces acoustic noise from the motor due to smooth transitions of coil currents during commutation. Various schemes to control the slopes of the coil currents to form generally sinusoidal coil currents corresponding to sinusoidal BEMF voltages have been utilized. For example, trapezoidal waveforms have been used as an approximation to the sinusoidal waveforms because of the ease of generating the trapezoidal waveform.
One method of energizing the coils is via Pulse Width Modulation (PWM) to conserve power. In PWM, a train of pulses are applied to energize the coils, whereby power to each coil is switched on and off. As such in conventional methods, PWM is utilized to provide constant currents to the coils without changing the current level when the coils are energized. Since each coil is an inductive load, a change in current flowing through the inductive load during switching causes the voltage across the load to rise or fall. The Pulse Width duration is changed by taking into account several parameters including the coil BEMF voltage, the coil inductance voltage, and the voltage in driver resistive paths due to the coil current, wherein the voltage values must add up to the power supply. However, measuring these parameters for controlling the pulse width duration requires numerous complex steps and circuitry. Further, the aforementioned parameters vary as the rotor is rotating. As such, for each pulse, the parameters must be measured to determine the appropriate pulse width to form the desired current waveform.
There is, therefore, a need for an efficient and simple method of generating desired cyclical signal waveforms for drive currents in a spindle motor for optimum torque application to the rotor and reduction of acoustic noise from the motor.